#pragma once

const UINT kWmMessageCancelCopy = WM_APP + 20;

class CopyProgressWindow
{
	HWND mWindow;
	HWND mParentWindow;
	HINSTANCE mInstance;

	DWORD mStartTime;
public:
	CopyProgressWindow();
	~CopyProgressWindow();

	void InitWithParameters(HINSTANCE instance, HWND parentWindow);
	void ShowWithTimeLag(const TCHAR* description);
	void SetProgress(float percent);
	void Hide();
	void HideWithTimeLag();

	bool IsProcessedDlgMessage(MSG*);

private:
	static INT_PTR CALLBACK DialogProc(_In_  HWND hwndDlg, _In_  UINT uMsg,
		_In_  WPARAM wParam, _In_  LPARAM lParam);
};
